package com.cch.cooperation.dao.vip.model;

import java.util.Date;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.cch.cooperation.dao.file.dto.FileDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * Vip 广告配置表
 *
 * @author cch on 2025-10-04
 */
@ApiModel("Vip 广告配置表")
@Data
@TableName(autoResultMap = true)
public class VipAdConfig implements Serializable {

    @ApiModelProperty("id")
    private String id;

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("内容详情")
    private String detail;

    @ApiModelProperty("背景图片json")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private FileDTO bgImg;

    @ApiModelProperty("icon图片json")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private FileDTO iconImg;

    @ApiModelProperty("跳转地址")
    private String url;

    @ApiModelProperty("曝光次数")
    private Integer exposure;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    public static final String ID = "id";
    public static final String TITLE = "title";
    public static final String DESC = "desc";
    public static final String BG_IMG = "bg_img";
    public static final String ICON_IMG = "icon_img";
    public static final String URL = "url";
    public static final String EXPOSURE = "exposure";
    public static final String CREATE_TIME = "create_time";
    public static final String UPDATE_TIME = "update_time";

}